iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
自我挑戰組

富士大顆系列 第 27

vol. 27 最後的一步:網站部署大辭典

  • 分享至 

  • xImage
  •  

網站開發的最後一哩路,就是網站部署啦
俗話說醜媳婦總要見公婆
本篇會談到:

  • 基本名詞介紹
  • 部署前的準備

網路基礎名詞

名詞 描述
伺服器(Server) 主要裝載和運行應用程式的硬體或軟體環境。
客戶端(Client) 與伺服器進行互動的使用者或系統。
域名(Domain) 人看得懂的名字,e.g.google.com,一個域名可以有多個 IP 地址。
DNS (Domain Name System) 負責將人類可讀的域名轉換為機器可讀的 IP 地址。
IP地址(IP Address) 給伺服器解讀的,Internet Protocol 設備的數字標籤。
網路協定(Network Protocols) 規範網際網路上的資料傳輸和交換方式,常見的有 HTTP、HTTPS、FTP 等。
反向代理(Reverse Proxy) 位於客戶端和伺服器之間,用來將客戶端請求轉發到後端伺服器,並將後端伺服器的回應返回給客戶端。
CDN(Content Delivery Network) 透過在地理上分散的多個伺服器中存儲資源的副本,來減少用戶的等待時間。很多前端套件可以用 CDN 掛載的方式整合到專案裡。

部署相關

名詞 描述
部署環境(Deployment Environment) 部署應用程式的特定設定和環境,如開發、測試,和生產環境。
配置(Configuration) 定義應用程式和系統行為的設定檔和參數。
資料庫遷移(Database Migration) 在不同資料庫環境間遷移資料庫結構和資料,通常關係 schema 的變更和數據的轉移。
API 和 Web 服務 如果應用使用了第三方 API 或 Web 服務,需要考慮安全性(如 OAuth、API 金鑰等)和限流(rate limiting)。
藍綠部署(Blue-Green Deployment) 一種部署策略,有兩個完全相同的生產環境:藍色(Blue)和綠色(Green)。一個運行當前版本,另一個用於部署和測試新版本。
無縫部署(Zero-downtime Deployment) 在部署過程中,用戶不會經歷服務中斷,新版本會逐漸替換舊版本。

版本控制

名詞 描述
版本(Version) 應用程式或系統的特定發布狀態,通常由代碼、Configuration 和 Dependencies 組成。
回滾(Rollback) 如果新版本有問題,返回到先前穩定版本的過程。
分支(Branch) 隔離不同開發工作的路徑,常用於功能開發、修復漏洞或實驗。

自動化與CI/CD

名詞 描述
持續整合(Continuous Integration) 代碼更改會自動建置和測試,確保沒有破壞現有功能。這通常包括代碼審查、自動測試和構建。
持續部署(Continuous Deployment) 代碼更改會自動部署到生產環境。
管道(Pipeline) 一系列自動化的多個階段(Stages)步驟,從代碼提交到部署。這通常包括編譯、測試、部署等階段。CI/CD 就是透過管道的自動化所完成。
持續交付(Continuous Delivery) 類似於持續部署,但需要手動觸發將代碼推送到生產環境。
構建(Build) 將源代碼轉換為可執行代碼的過程。可能包括打包資源、生成文件等。

容器化和容器服務平台

名詞 描述
容器(Container) 一種輕量、可移植的軟體包裝方式。
容器影像(Container Image) 包含應用程式和所有依賴的靜態快照,是容器運行的基礎。
Docker 目前最流行的容器平台。
Docker Compose 定義和運行多容器 Docker 應用程式的工具。
Kubernetes 用於自動部署、擴展和管理容器應用程式的開源平台。
節點(Node) 在 Kubernetes 中,一台或多台伺服器可以被視為一個或多個節點。
Pod Kubernetes 中的最小部署單位,一個或多個容器的集合。
服務(Service) Kubernetes 中,暴露 Pod 網路接口的抽象層。
部署(Deployment) Kubernetes 中,管理 Pod 和 Replica Set 的高級抽象層。
命名空間(Namespace) Kubernetes 中,將資源分隔成獨立的環境。
容器註冊表(Container Registry) 儲存容器影像的地方,例如 Docker Hub。

監控與安全

名詞 描述
監控(Monitoring) 實時追蹤系統和應用程式的性能和狀態。
日誌(Log) 系統或應用程式運行時生成的記錄。
SSL/TLS 在網際網路上保護資料傳輸的安全協議。
健康檢查(Health Checks) 預設的端點或方法來確定應用或其組成元件的健康狀態。
防火牆(Firewall) 控制網路流量的安全系統。
身份驗證(Authentication) 確認用戶或系統的身份。
授權(Authorization) 確定經過身份驗證的用戶有哪些資源的讀取權限。
資安事件和事故回應(Incident Response) 一組程序,用於處理和管理資訊安全事故或違規。

部署步驟

步驟 描述
測試 進行測試。
準備環境 確認環境是否符合所有硬體和軟體需求。
依賴安裝 安裝應用程式運行所需的所有依賴套件。
上傳程式碼 將應用程式的程式碼和資源檔案上傳到伺服器。
配置設定 根據環境特性進行必要的配置。
安全設定 進行必要的安全設定,如防火牆設定、SSL/TLS 設定等。
資料庫遷移 如果有資料庫更改,執行資料庫遷移。
啟動服務 啟動或重新啟動應用程式。
回滾計劃 設定和測試回滾計劃以應對可能的部署失敗。
監控設定 配置監控工具以實時追蹤應用程式和系統狀態。
驗證/執行 確認應用程式運行正常。

下一篇,用新興部署平台 Zeabur 部署起來!


上一篇
vol. 26 進階的 SQL : JOINs, 聚合, 還有分組!
下一篇
vol. 28 你還沒用過 Zeabur 部署?那你有點落伍了
系列文
富士大顆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言